int cmp(const void* pa, const void* pb){
    return (*(int*)pa - *(int*)pb);
}
int heightChecker(int* heights, int heightsSize) {
    int *tmp = (int*)malloc(sizeof(int)*heightsSize);
    for(int i = 0; i < heightsSize; ++i){
        tmp[i] = heights[i];
    }
    int count = 0;
    qsort(tmp, heightsSize, sizeof(int), cmp);
    for(int i = 0; i < heightsSize; ++i){
        if(tmp[i] != heights[i])
            ++count;
    }
    return count;
}

/*学校打算为全体学生拍一张年度纪念照。根据要求，学生需要按照非递减的高度顺序排成一行。

排序后的高度情况用整数数组 expected 表示，其中 expected[i] 是预计排在这一行中第 i 位的学生的高度（下标从 0 开始）。

给你一个整数数组 heights ，表示当前学生站位的高度情况。heights[i] 是这一行中第 i 位学生的高度（下标从 0 开始）。

返回满足 heights[i] != expected[i] 的下标数量 */